Joller-Voss Nachdiplomkurs Java - Java Certification
Sommer Semester
Einsatz von Java RMI
vorheriges Kapitel     Kursunterlagen Index     Nächstes Kapitel    
© , Alle Rechte vorbehalten, Josef M. Joller
Hochschule für Technik und Architektur

Zielpublikum Software-Entwickler
Vorkenntnisse Es ist von Vorteil, wenn Sie die vorhergehenden Kurse besucht haben, ist jedoch nicht Bedingung.
Kursbeginn Dienstag, 3. Juli 2001
Kursdauer 6 Abende, 3. - 18.7.2001
Zeiten Jeweils Dienstag und Donnerstag,17.30 bis 21.45 Uhr

Inhaltsverzeichnis - Praxis von Java RMI

KURSZIELE
Sie kennen den Aufbau und die Funktionsweise von RMI (Remote
Methode Invocation) und können diese in praxisrelevanten Beispielen
anwenden


Dieser Kursteil besteht aus drei Teilen
  1. RMI - Übersicht und Einführung
  2. RMI Praxis
  3. RMI Übungen (zu Teil 2)
KURSINHALTE

Skript (PDF), Beispiel-Programme (ZIP)

In diesem Kursteil
Kursübersicht

REMOTE METHODE INVOCATION PRAXIS
In diesem Kapitel:
- Einleitung
- Distributed Computing mittels RMI
- Parameter in RMI
- Client-seitige Callbacks
- Automatische Distribution
- Distribured Garbage Collection 
- Berechnungsserver
- Eigene SocketFactory
- Aktivierung von remote Objekten
- Adapter Emtwurfsmuster
- Persistenz und Marshalled Objekte
- Dynamisches Herunterladen von Code
- Factory Emtwurfsmuster
- RMI over IIOP
- alternative RMI Ansätze


JAVA IN VERTEILTE SYSTEME - RMI
JAVA REMOTE METHODE INVOCATION - RMI PRAXIS 1 17.1. EINLEITUNG 1 17.1.1. Groblernziele 1 17.2. EINFÜHRUNG IN DISTRIBUTED COMPUTING MITTELS RMI 1 17.2.1. Entwurfsziele 2 17.2.2. Vergleich verteilter mit nichtverteilten Java Programmen 2 17.2.3. Java RMI Architektur 3 17.2.3.1. Interfaces: das Kernstück von RMI 3 17.2.3.2. RMI Architektur Layers 4 17.2.3.2.1. Stub and Skeleton Layer 5 17.2.3.2.2. Remote Referenz Layer 6 17.2.3.2.3. Transport Layer 6 17.2.4. Namensgebung für Remote Objekte 8 17.2.5. Praktischer Einsatz von RMI 8 17.2.5.1. Interfaces 9 17.2.5.2. Implementation 10 17.2.5.3. Stubs und Skeletons 11 17.2.5.4. Host Server 12 17.2.5.5. Client 12 17.2.5.6. Ausführen des RMI Systems 13 17.2.6. Übung 14 17.2.7. Parameter in RMI 14 17.2.8. Parameter in einer einzelnen JVM 14 17.2.8.1. Primitive, einfache Parameter 15 17.2.8.2. Objekt Parameter 15 17.2.8.3. Remote Objekt Parameter 16 17.2.9. Übung 17 17.2.10. RMI Client-seitige Callbacks 17 17.2.11. Übung 17 17.2.12. Verteilen und Installieren von RMI Software 17 17.2.12.1. Verteilung von RMI Klassen 18 17.2.12.2. Automatische Distribution von Klassen 18 17.2.13. Übung 20 17.2.13.1. Firewall Themen 20 17.2.14. Distributed Garbage Collection 23 17.2.15. Übung 23 17.2.16. Serialisierung von Remote Objekten 23 17.2.17. Übungen 26 17.2.18. Architektur Mobiler Agenten 26 17.2.19. Alternative Implementationen 26 17.2.20. Zusätzliche Quellen 26 17.2.20.1. Bücher und Artikel 26 17.3. EIN WEITERES VOLLSTÄNDIG GELÖSTES BEISPIEL: DER BERECHNUNGSSERVER 27 17.3.1. Vorgehensweise 27 17.3.1.1. Design und Implementation der Komponenten ihrer verteilten Applikation. 27 17.3.2. Bau des generischen Berechnungsservers 28 17.3.3. Design eines Remote Interfaces 28 17.3.4. Implementation eines Remote Interfaces 30 17.3.4.1. Deklaration der zu implementierenden remote Interfaces 31 17.3.4.2. Definition des Konstruktors 34 17.3.4.3. Implementationen für jede Remote Methode 34 17.3.4.3.1. Übergabe von Objekten in RMI 35 17.3.4.4. Implementation der Server main Methode 36 17.3.4.4.1. Kreieren und Installieren eines Security Manager 36 17.3.4.4.2. Remote Objekte den Clients zur Verfügung stellen 36 17.3.5. Kreieren des Client Programms 38 17.3.6. Übersetzen und Ausführen des Beispiels 43 17.3.6.1. Übersetzen der Quellen der Beispielprogramme 43 17.3.6.1.1. Erstellen der JAR Datei mit den Interface Klassen 43 17.3.6.1.2. Übersetzen der Serverseite 44 17.3.6.1.3. Übersetzen der Client Klassen 45 17.3.6.2. Starten der Beispielprogramme 46 17.3.6.2.1. Eine Bemerkung betreffend Security 46 17.3.6.2.2. Starten des Servers 47 17.3.6.2.3. Starten des Client 48 17.3.6.2.4. Mögliche Fehlermeldung 49 17.4. SPEZIALTHEMEN 50 17.4.1. Definition und Implementation einer eigenen SocketFactory 50 17.4.1.1. Kreieren einer RMI Socket Factory, welche genau einen Socket-Typus erzeugt 52 17.4.1.1.1. Kreieren eines eigenen Socket Typus 52 17.4.1.2. Kreieren einer RMI Socket Factory, welche mehr als einen Socket Typus liefert 62 17.4.1.3. Anwendung der selbstkonstruierten Socket Factory in einer Applikation 66 17.4.2. Activation: Remote Objekt Aktivierung 70 17.4.2.1. Sich mit Aktivierung vertraut machen 70 17.4.2.2. Kreieren eines aktivierbaren Objekts 71 17.4.2.2.1. Kreieren der Implementationsklasse 71 17.4.2.2.2. Kreieren der "setup" Klasse 72 17.4.2.2.3. Übersetzen und ausführen des Codes 75 17.4.2.2.4. rmid - Java RMI Activation System Daemon 78 17.4.2.3. Aktivierbarmachen eines Unicast Remote Objekts 80 17.4.2.3.1. Schrittweises modifizieren der Implementationsklasse 81 17.4.2.3.2. Schrittweises modifizieren der Serverklasse 82 17.4.2.3.3. Übersetzen und starten des Beispiels 84 17.4.2.4. Aktivierung eines Objekts, welches java.rmi.activation.Activatable nicht erweitert 88 17.4.2.4.1. Schrittweises kreieren eines remote Interfaces 89 17.4.2.4.2. Schrittweises modifizieren der Implementationsklasse 89 17.4.2.4.3. Schrittweises entwickeln der Setup Klasse 90 17.4.2.4.4. Übersetzen und starten der Beispielprogramme 92 17.4.3. Der Einsatz des Adapter Entwurfsmusters 96 17.4.3.1. Definition der Klassen 96 17.4.3.2. Definition der Batch Dateien 101 17.4.3.3. Ausgaben 102 17.4.4. Kreieren persistenter Daten mit Hilfe eines Marshalled Objekts 105 17.4.4.1. MarshalledObject 105 17.4.4.2. ActivationDesc Klasse 105 17.4.4.3. Motivation 105 17.4.4.4. Schrittweises kreieren des remote Interface 106 17.4.4.5. Schrittweises kreieren der Implementationsklasse 107 17.4.4.6. Schrittweises kreieren der Setup Klasse 110 17.4.4.7. Übersetzen und starten des Beispiels 112 17.4.5. Dynamisches Herunterladen von Code mit RMI - Einsatz von java.rmi.server.codebase Property 116 17.4.5.1. Einleitung 116 17.4.5.2. Was ist eine Codebase? 116 17.4.5.3. Wie funktioniert die Codebase? 117 17.4.5.4. Einsatz von Codebase in RMI 117 17.4.5.5. Einsatz der Codebase für mehr als das Herunterladen von Stubs 119 17.4.5.6. Beispiele 119 17.4.5.7. Verschiedene Tips - Troubleshooting 121 17.4.5.8. Typische Codebase Probleme mit dem RMI Server 121 17.4.5.9. Probleme beim Starten des RMI Clients 122 17.4.6. Anwendung des Factory Entwurfmuster in RMI 123 17.4.6.1.1. Factory Beispiele aus der realen Welt 123 17.4.6.1.2. Einsatz von Factories in RMI 124 17.4.6.2. Wie könnte eine Bank oder eine Bibliothek mit einer Factory implementiert werden? 125 17.4.7. RMI over IIOP (RMI-IIOP) - der Schritt in Richtung CORBA 126 17.4.7.1. Java RMI-IIOP Dokumentation 126 17.4.7.1.1. RMI-IIOP Tools Dokumentation 126 17.4.7.1.2. RMI-IIOP Javadoc API Reference 126 17.4.7.2. RMI-IIOP Programmierung 126 17.4.7.2.1. Einführung 127 17.4.7.2.2. Was ist RMI-IIOP? 127 17.4.7.2.3. Der neue rmic Compiler 128 17.4.7.2.3.1. Das -iiop Flag 128 17.4.7.2.3.2. Das -idl Flag 128 17.4.7.3. Wie setzt man IIOP in RMI Programmen ein? 128 17.4.7.4. Einschränkungen der RMI Programme über IIOP 129 17.4.7.5. Konvertiierung des RMI Hello World Programms in RMI-IIOP 130 17.4.7.6. Konversion des Client Applets zu einer Applikation 133 17.4.7.6.1. Anpassen einer Client Applikation an RMI-IIOP 133 17.4.7.6.2. Was Sie beachten sollten 134 17.4.7.6.3. Server müssen Thread Safe sein 134 17.4.7.6.4. Hashtables mit identischen Vector Keys 134 17.4.7.7. Interoperabilität mit andern ORBs 134 17.4.7.8. Bekannte Probleme 135
Copyright ©, Alle Rechte vorbehalten.
Josef M. Joller Sonnenbergstrasse 73, CH-8610 USTER / Schweiz.

Sie sind bereits Sekunden auf dieser Seite
Heute ist (lokale Zeit)